package com.settlement.system.common.enums;

/**
 * 收退款，凭证类型枚举
 * @author user
 */
public enum VoucherTypeEnum {
    /**
     * 银行收款
     */
    bank_gathering("银行收款","BG"),
    /**
     * 银行退款
     */
    bank_refund("银行退款","BR"),
    /**
     * 费用_促销收费（银联）
     */
    cost_promotion_unionpay("费用_促销收费（银联）","CPU"),
    /**
     * 费用_促销收费
     */
    cost_promotion("费用_促销收费","CP"),
    /**
     * 费用_网络广告
     */
    cost_advertising("费用_网络广告","CA"),
    /**
     * 收款
     */
    gathering("收款","G"),
    /**
     * 调整收入_其他业务收入
     */
    abjust_other("调整收入_其他业务收入","AO"),
    /**
     * 调整收入_主营业务收入
     */
    abjust_main("调整收入_主营业务收入","AM"),
    /**
     * 退款
     */
    refund("退款","R"),
    /**
     * 往来_其他应收款_保证金
     */
    safeguard_amount("往来_其他应收款_保证金","SA"),
    /**
     * 费用_财务费用
     */
    cost_finance("费用_财务费用","CF"),
    /**
     * 费用_管理费用
     */
    cost_manager("费用_管理费用","CM");

    VoucherTypeEnum(String name, String no) {
        this.name = name;
        this.no = no;
    }

    String name;
    String no;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getNo() {
        return no;
    }

    public void setNo(String no) {
        this.no = no;
    }

    public static String getNoByName(String name) {
        VoucherTypeEnum[] enums = VoucherTypeEnum.values();
        for (int index = 0; index < enums.length; index++) {
            if(enums[index].getName().equals(name)){
                return enums[index].getNo();
            }
        }
        return null;
    }
}
